﻿#region [ Code Modification History ]

//*******************************************************************************************************
//  ByteBlock.cs 
//
//  Code Modification History:
//  -----------------------------------------------------------------------------------------------------
//  15/01/2017 - V. Dennis Kholin
//       Generated original version of source code. 
//*******************************************************************************************************

#endregion

#region [ Using ]

using System;

#endregion

namespace GZipStreamTool.Base.Core
{
    /// <summary>
    ///     ByteBlock
    /// </summary>
    public class ByteBlock : EventArgs, IDisposable
    {
        #region [ Disposing ]

        /// <summary>
        ///     Dispose
        /// </summary>
        public void Dispose()
        {
        }

        #endregion

        #region [ Members ]

        #endregion

        #region [ Properties ]

        /// <summary>
        ///     BlockCompressed
        /// </summary>
        public byte[] BlockOut { get; set; }

        /// <summary>
        ///     Length
        /// </summary>
        public long Length
        {
            get { return Block.Length; }
        }

        /// <summary>
        ///     ID
        /// </summary>
        public long ID { get; set; }

        /// <summary>
        ///     Block
        /// </summary>
        public byte[] Block { get; set; }

        #endregion

        #region [ Constructors ]

        /// <summary>
        ///     ByteBlock
        /// </summary>
        public ByteBlock()
        {
        }

        /// <summary>
        ///     ByteBlock
        /// </summary>
        /// <param name="byteBlockSize"></param>
        public ByteBlock(int byteBlockSize)
        {
            Block = new byte[byteBlockSize];
        }

        #endregion
    }
}